home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Enter 1999 May / ENTER5_2.iso / browser / msie 40 pl / ie4_s3.cab / IE4_3.CAB / SHDOCVW.DLL / 2110 / ABOUT.DLG next >
Text File  |  1997-09-14  |  25KB  |  782 lines

  1. <HTML id=dlgAbout STYLE="width: 25.9em; height: 22em">
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  3. <head>
  4. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
  5. <TITLE>
  6. Internet Explorer - informacje
  7. </TITLE>
  8. <style>
  9.     .versionformat {
  10.         color: black;
  11.         font-family: arial;
  12.         font-size: 8pt;
  13.         position: absolute; 
  14.         left: 0em; 
  15.     top: 0em;
  16.         height: 2em; 
  17.         width:25em;
  18.     z-index: 20;
  19.        }
  20.  
  21.     .textformat {
  22.     color: black;
  23.         font-family: arial;
  24.         font-size:8pt;
  25.         position: absolute; 
  26.         left: 10.2em; 
  27.         top: 19.3em;  //19.5em;
  28.         height: 3em; 
  29.         width:26.5em;
  30.     }
  31.  
  32.     .logo {
  33.     color: LIGHTGREY;
  34.     font-family: arial;
  35.         font-size:40pt;
  36.         position: absolute; 
  37.         left: 1.9em; 
  38.         top: 4.5em;
  39.         height: 0.5em; 
  40.         width:1em;
  41.     z-index: -1;
  42.     }
  43.   .button{
  44.     position: absolute;
  45.     top: 28em;
  46.     width: 7em;
  47.     height: 2.2em;
  48.     color: black;
  49.     font-family: arial;
  50.            font-size:8pt;
  51.     cursor: hand;
  52.     z-index: 100;
  53.  
  54.     }
  55. </style>
  56.  
  57.  
  58.  
  59. </head>
  60.  
  61. <body id=bodyid onload="OnPageLoad()" onfilterchange="bodyOnFilterChange()" onkeydown="bodyOnKeyDown()" bgcolor="white" scroll=no leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0 style="border:none">
  62. <!--Graphics -->
  63. <div id="allPic"  STYLE="width:25em;position: absolute; top: 0px;left:0px;font-family: arial;font-size: 8pt; z-index: 13;">
  64. </div>
  65. <img src="ie256.gif" id="ID_IE" CLASS="Movable" style="position:absolute; left:0; top:0; width:0; height:0; visibility:hidden; z-index: 10;" FinalHeight=44, FinalWidth=39, FinalX=353, FinalY=0>
  66. <img src="world256.gif" id="ID_World"
  67.         style="position:absolute; left:0px; top:0px; width:0; height:0; visibility:hidden; z-index: 3;" 
  68.         FinalHeight=86, FinalWidth=86, FinalX=12, FinalY=56 nOrigLeft=86, nOrigTop=86>
  69.  
  70. <img src="ietxt256.bmp" id="ID_IEText" style="position:absolute; left:104; top:61; width:269; height:109; visibility:hidden; z-index:100"
  71.     SuperClass="Flingable" xDelta="0" yDelta="0" reqDirX=1 reqDirY=0 nScore=2>
  72.  
  73. <img src="lines256.bmp" id=lines style="position:absolute;left:0;top:0;visibility:hidden">
  74.  
  75. <div id="versionDetails" class=versionformat style="color: white; left: 10.2em; top: 16.2em">
  76. Wersja <SPAN id=spaVersion ></SPAN><br>
  77. <span id=minorversion></SPAN>
  78. </div>
  79.  
  80. <div id="userInfo"  class=textformat style="visibility:hidden;z-index: 10;line-height: 140%">
  81.     <SPAN id=spaText>ID produktu: <SPAN id=pID></SPAN></SPAN>
  82.     <BR><A href="" id=copyrightLink onclick="copyrightclick()"  > Informacje o prawach autorskich</A><!-- onmouseover="copyrightmouseover()" onmouseout="copyrightmouseout()" --> 
  83. </div>
  84.  
  85. <DIV id="copyrightDetails"  class=textformat style="visibility:hidden">
  86.     Na podstawie programu NCSA Mosaic. NCSA Mosaic™ zosta│ opracowany w National Center for Supercomputing Applications w uniwersytecie Illinois w Urbana-Champaign. Dystrybuowane na podstawie umowy licencyjnej z firm╣ Spyglass, Inc.
  87. </DIV>
  88.  
  89. <!-- <div id="copyrightLogo" class=logo style="visibility:hidden;z-index: 9">©©©</DIV> -->
  90. <DIV id="copyrightDetails2" class=textformat style="visibility:hidden">
  91.     <P>Zawiera oprogramowanie zabezpieczaj╣ce licencjonowane przez firmΩ RSA Data Security Inc.<BR></P>
  92.     <p style="position: relative; top: -0.5em">Fragmenty tego oprogramowania powsta│y czΩ£ciowo na podstawie prac grupy Independent JPEG Group.<BR></P>
  93. </DIV>
  94. <DIV id="copyrightDetails3" class=textformat style="visibility:hidden">
  95.     <p>Zawiera oprogramowanie klienta SOCKS licencjonowane<BR>przez firmΩ Hummingbird Communications Ltd</P>
  96.     <p style="position: relative; top: -0.5em">Zawiera opogramowanie ASN.1 licencjonowane przez<BR>firmΩ Open Systems Solutions, Inc.</P>
  97. </DIV>
  98. <DIV id="copyrightDetails4" class=textformat style="visibility:hidden">
  99.     <p>Multimedialne sk│adniki oprogramowania obejmuj╣ce wideo Indeo(R); dƒwiΩk Indeo(R) i efekty Web Design Effects pochodz╣ z firmy Intel Corp</P>
  100. </DIV>
  101.  
  102.  
  103. <DIV id=warning  class=textformat style="visibility:hidden">
  104. Ostrze┐enie: Ten program jest chroniony prawem autorskim i umowami miΩdzynarodowymi.  Kopiowanie b╣dƒ rozpowszechnianie tego programu lub jakiejkolwiek jego czΩ£ci bez upowa┐nienia mo┐e spowodowaµ poci╣gniΩcie do odpowiedzialno£ci cywilnej i karnej w maksymalnym zakresie dopuszczalnym przez prawo.
  105. </div>
  106. <div id=gettingStarted class=textformat style="visibility:hidden;line-height:175%"><a href="res://ie4tour.dll/tour.htm#MinimalTour=1" onclick="gettingStartedClick()">Przejrzyj Krótki przewodnik</A>
  107. <div id=techSupport style="visibility:hidden"><a href="http://www.microsoft.com/ie_intl/pl/support/">Pomoc techniczna</a></div>
  108. <DIV id=copyrightMicrosoft  style="visibility:hidden"><a href="http://www.microsoft.com/ie_intl/pl/" id="copyright">Copyright ©1995-97 Microsoft Corp.</a><span id="rightsReserved"><BR>Wszelkie prawa zastrze┐one.</span></DIV>
  109. </DIV>
  110. <BUTTON id="backButton" class=button accessKey="W" onClick="backButtononclick()" style="left: 31.5em; visibility: hidden">< <U>W</U>stecz</BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" --> 
  111. <BUTTON id="nextButton" class=button accessKey="D" onClick="nextButtononclick()"  style="left: 31.5em; visibility: hidden"><U>D</U>alej ></BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" --> 
  112. <BUTTON id="okButton" class=button onClick="window.close();" style="left: 29.5em; visibility: hidden">OK</BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" --> 
  113. <BUTTON id="ID_Lock" class=button onClick="UnLock(ID_Lock);" style="left:104; top:61; visibility: hidden; z-index:1">Odblokuj</BUTTON>
  114. <SCRIPT language=javascript>
  115. window.onerror = HandleError;
  116. var isMMInstalled=0;  //Disable MM because of DirectD flicker bug on S3 cards
  117. var beforeLinksDivCount=5;
  118. var totaldivCount=8;
  119. var noReEntry=0;
  120. var curDiv=0;
  121. var fade=0;
  122. var backwards=0;
  123. divNames = new Object();
  124. divNames[0]="userInfo";
  125. divNames[1]="copyrightDetails";
  126. divNames[2]="copyrightDetails2";
  127. divNames[3]="copyrightDetails3";
  128. divNames[4]="copyrightDetails4";
  129. divNames[5]="warning";
  130. divNames[6]="gettingStarted";
  131. divNames[7]="techSupport";
  132. divNames[8]="copyrightMicrosoft";
  133.  
  134. var g_nFinalGrowth = 12;
  135. var g_nCurrGrowth = 0;
  136.  
  137. var g_nDragOffsetX=0;
  138. var g_nDragOffsetY=0;
  139. var g_fInDrag=0;
  140. var g_nStep=0;
  141. var g_nMaxStepHistory=4;
  142. var g_szPrevElement="";
  143. var g_cFlungObjects=0;
  144. var g_nScore=0;
  145. var g_nScoreNeeded=3;  // 1 for text  + 1 for button
  146.  
  147. FlingingItems = new Object();
  148.  
  149. CursorHistoryX = new Object();
  150. CursorHistoryY = new Object();
  151.  
  152. var g_nWobbleAmount = 4;
  153.  
  154. //+-------------------------------------------------------------------
  155. //
  156. //  Synopsis:   Turns off error messages in dialogs
  157. //
  158. //  Arguments:  none
  159. //
  160. //  returns:    true (tells browser not to handle message)
  161. //
  162. //--------------------------------------------------------------------
  163.  
  164.  
  165. function HandleError(message, url, line)
  166. {
  167.     var L_Dialog_ErrorMessage = "W tym oknie dialogowym wyst╣pi│ b│╣d.";
  168.     var L_ErrorNumber_Text = "B│╣d: ";
  169.  
  170.     var str = L_Dialog_ErrorMessage + "\n\n" 
  171.         + L_ErrorNumber_Text + line + "\n"
  172.         + message;
  173.  
  174.     alert (str);
  175.     window.close();
  176.  
  177.     return true;
  178. }
  179.  
  180.  
  181. //function called by body.onload.  Starts initial animation
  182. function OnPageLoad()
  183. {
  184.     var L_UpdateVersions_Text = "Wersje aktualizacji: "; 
  185.    
  186.     if(window.screen.colorDepth<8)
  187.     {
  188.         document.all["ID_IE"].src="ie.gif";
  189.         document.all["ID_World"].src="world.bmp";
  190.         document.all["lines"].src="lines.bmp";
  191.         document.all["ID_IEText"].src="ietext.bmp";
  192.     }
  193.     else
  194.         document.body.bgColor="#F8F8F8";
  195.  
  196.     if(isMMInstalled==1)
  197.     {
  198.         for(i=0;i<=beforeLinksDivCount;i++)
  199.         {
  200.             document.all[divNames[i]].style.filter="blendTrans(duration=0.5)";
  201.             document.all[divNames[i]].onfilterchange="onfilterchangeHandler()";
  202.         }
  203.         for(i=beforeLinksDivCount+1;i<=totaldivCount;i++)
  204.         {
  205.             document.all[divNames[i]].style.filter="blendTrans(duration=0.5)";
  206.             document.all[divNames[i]].onfilterchange="onfilterchangeHandlerLinks()";
  207.         }
  208.         document.all.copyrightLogo.style.filter="blendTrans(duration=0.5)";
  209.     }
  210.  
  211.     if ((null != window.dialogArguments))
  212.     {
  213.         arrArgs = window.dialogArguments.split("~");
  214.         spaVersion.innerText = arrArgs[0];
  215.         pID.innerText=arrArgs[4];
  216.     }
  217.  
  218.     //Check for QFEs
  219.     var mv=window.navigator.appMinorVersion;
  220.     if(mv!="") minorversion.innerText=L_UpdateVersions_Text + mv;
  221.     spaText.innerText = spaText.innerText;
  222.     backButton.style.posLeft=okButton.style.posLeft-15.3;
  223.     nextButton.style.posLeft=okButton.style.posLeft-7.6;
  224.     allPic.style.pixelLeft=userInfo.offsetLeft-103;
  225.     allPic.style.pixelTop=(versionDetails.offsetTop-170)/2;
  226.  
  227.     //start initial animation
  228.     document.all["ID_World"].style.visibility="";
  229.     document.all["ID_IE"].style.visibility="";
  230.  
  231.     // Create final x/y for World and Logo.
  232.     document.all["ID_IE"].FinalX=allPic.style.posLeft+350;
  233.     document.all["ID_IE"].FinalY=allPic.style.posTop+0;
  234.     document.all["ID_World"].FinalX=allPic.style.posLeft+10;
  235.     document.all["ID_World"].FinalY=allPic.style.posTop+50;
  236.     document.all["ID_World"].nOrigLeft=document.all["ID_World"].FinalX;
  237.     document.all["ID_World"].nOrigTop=document.all["ID_World"].FinalY;
  238.  
  239.     // Move World and Logo onto screen.
  240.     window.setTimeout("DoGrow();",100);
  241. }
  242.  
  243. //this function grows the earth and IE logos from the upper left corner
  244. function DoGrow()
  245. {
  246.     g_nCurrGrowth += 1;
  247.  
  248.     ID_World.style.posHeight = Math.round(parseInt(ID_World.FinalHeight) * (g_nCurrGrowth/g_nFinalGrowth));
  249.     ID_World.style.posWidth = Math.round(parseInt(ID_World.FinalWidth) * (g_nCurrGrowth/g_nFinalGrowth));
  250.     ID_World.style.posLeft = Math.round(parseInt(ID_World.FinalX) * (g_nCurrGrowth/g_nFinalGrowth));
  251.     ID_World.style.posTop = Math.round(parseInt(ID_World.FinalY) * (g_nCurrGrowth/g_nFinalGrowth));
  252.  
  253.     document.all.ID_IE.style.posHeight = Math.round(parseInt(document.all.ID_IE.FinalHeight) * (g_nCurrGrowth/g_nFinalGrowth));
  254.     document.all.ID_IE.style.posWidth = Math.round(parseInt(document.all.ID_IE.FinalWidth) * (g_nCurrGrowth/g_nFinalGrowth));
  255.     document.all.ID_IE.style.posLeft = Math.round(parseInt(document.all.ID_IE.FinalX) * (g_nCurrGrowth/g_nFinalGrowth));
  256.     document.all.ID_IE.style.posTop = Math.round(parseInt(document.all.ID_IE.FinalY) * (g_nCurrGrowth/g_nFinalGrowth));
  257.  
  258.  
  259.     if(g_nCurrGrowth < g_nFinalGrowth)
  260.     {
  261.         window.setTimeout("DoGrow()",1);
  262.     }
  263.     else
  264.     {
  265.         window.setTimeout("DoPics()",200);
  266.     }
  267. }
  268.  
  269. //When done growing, display the other parts of the IE splash screen
  270. function DoPics() {
  271.     ID_IEText.style.posTop=allPic.offsetTop+60;
  272.     ID_IEText.style.posLeft=allPic.offsetLeft+98;
  273.     ID_IEText.style.visibility="";
  274.  
  275.     ID_Lock.style.posTop=ID_IEText.style.posTop+30;
  276.     ID_Lock.style.posLeft=ID_IEText.style.posLeft+100;
  277.     ID_Lock.style.visibility="";
  278.  
  279.     lines.style.posLeft=allPic.style.posLeft+43;
  280.     lines.style.posTop=allPic.style.posTop+17;
  281.     lines.style.visibility="";
  282.  
  283.     window.setTimeout("startVersion()",500);
  284. }
  285.  
  286. //Start version number sliding in from bottom
  287. function startVersion() {
  288.     versionDetails.style.posTop=28;
  289.     versionDetails.style.color="black";
  290.     DoVersion();
  291. }
  292.  
  293. function DoVersion() {
  294. if (versionDetails.style.posTop>16.2) versionDetails.style.posTop=versionDetails.style.posTop-1;
  295. if (versionDetails.style.posTop<=16.2) 
  296.     {
  297.     versionDetails.style.posTop=16.2;
  298.     okButton.style.visibility="";
  299.     okButton.focus();
  300.     window.setTimeout("DoShow()",100);
  301.     showDiv=-2;
  302.     }
  303. else window.setTimeout("DoVersion()",1);
  304. }
  305.  
  306. //General function for showing the different paragraphs of text
  307. //If MM is used, performs a fade-in transition
  308.  
  309. function DoShow() {
  310. if(isMMInstalled==1) document.all[divNames[curDiv]].filters[0].Apply();
  311. document.all[divNames[curDiv]].style.visibility="visible";
  312. if(isMMInstalled==1) document.all[divNames[curDiv]].filters[0].Play();
  313. //Next two lines call the filterchanged events manually
  314. //when MM is not enabled
  315. else if(curDiv<=beforeLinksDivCount) onfilterchangeHandler();
  316. else onfilterchangeHandlerLinks();
  317. }
  318.  
  319. //General function for hiding the different paragraphs
  320. //IF MM is used, performs a fade-out transition
  321.  
  322. function DoFade() {
  323. var divNum=DoFade.arguments[0];
  324. fade=1;
  325. if(isMMInstalled==1) document.all[divNames[divNum]].filters[0].Apply();
  326. document.all[divNames[divNum]].style.visibility="hidden";
  327. if(isMMInstalled==1) document.all[divNames[divNum]].filters[0].Play();
  328. //Next two lines call the filterchanged events manually
  329. //when MM is not enabled
  330. else if(curDiv<=beforeLinksDivCount) onfilterchangeHandler();
  331. else {
  332.     if(backwards==0) curDiv=curDiv-1; 
  333.     onfilterchangeHandlerLinks();
  334.     }
  335. }
  336.  
  337. //Logo behind copyright info needs separate fade routine
  338.  
  339. //function DoLogoFade() { //Fade logo characters
  340. //if(isMMInstalled==1) document.all.copyrightLogo.filters[0].Apply();
  341. //document.all.copyrightLogo.style.visibility="hidden";
  342. //if(isMMInstalled==1) document.all.copyrightLogo.filters[0].Play();
  343. //}
  344.  
  345. //When copyright link is clicked, show first paragraph of copyright info
  346.  
  347. function copyrightclick(){
  348. window.event.returnValue=0;
  349. if (noReEntry!=1) 
  350.     {
  351.     backButton.style.visibility="";    
  352.     nextButton.style.visibility="";    
  353.     backButton.disabled=0;
  354.     curDiv=1;
  355.     noReEntry=1;
  356.     DoFade(0);
  357. //    DoLogoFade();
  358.     }
  359. }
  360.  
  361. //Show logo underneath copyright link when hover over
  362. //function copyrightmouseover(){
  363. //copyrightLogo.style.visibility="visible";
  364. //}
  365.  
  366. //Hide logo again when mouse leaves copyright link
  367. //function copyrightmouseout(){
  368. //copyrightLogo.style.visibility="hidden";
  369. //}
  370.  
  371. //Go back one paragraph.  Check to see if at beginning
  372. function backButtononclick(){
  373. if (noReEntry==0) {
  374.     curDiv=curDiv-1;
  375.     if(curDiv<0) curDiv=0;
  376.     else {
  377.          noReEntry=1;
  378.          backwards=1;
  379.          //Fade old div out
  380.          DoFade(curDiv+1); 
  381.          }
  382.     }
  383. setButtonColor();
  384. }
  385.  
  386. //Go forward one paragraph
  387. function nextButtononclick(){
  388. if (noReEntry==0) {
  389.     curDiv=curDiv+1;
  390.     if(curDiv>beforeLinksDivCount+1) curDiv=beforeLinksDivCount+1;
  391.     else {
  392.          noReEntry=1;
  393.          //Fade old div out
  394.          DoFade(curDiv-1);
  395.          }
  396.     }
  397. setButtonColor();
  398. }
  399.  
  400. //Check to see if one of the buttons should be disabled
  401. //if at the beginning or end of the paragraphs
  402.  
  403. function setButtonColor() {
  404. if((curDiv==beforeLinksDivCount+1)&&(backwards==0)) {
  405.     nextButton.style.color="";
  406.     nextButton.disabled=1;
  407.     }
  408. else {
  409.       nextButton.disabled=0;
  410.       if(curDiv==0) {
  411.     backButton.style.color="";
  412.     backButton.disabled=1;
  413.     }
  414.       else backButton.disabled=0;
  415.      }
  416. }
  417.  
  418. //Respond to ESC key
  419.  
  420. function bodyOnKeyDown() {
  421. if (window.event.keyCode==27) window.close();
  422. }
  423.  
  424. //General function for turning the buttons text blue when mouseover
  425.  
  426. function buttonOnMouseOver(){
  427. var srcElement=window.event.srcElement;
  428. if (((srcElement.id!="backButton")|| (backButton.disabled==0))&&((srcElement.id!="nextButton")||(nextButton.disabled==0))) window.event.srcElement.style.color="blue";
  429. }
  430.  
  431. //General function for restoring the buttons text when mouse out
  432.  
  433. function buttonOnMouseOut(){
  434. var srcElement=window.event.srcElement;
  435. if (((srcElement.id!="backButton")|| (backButton.disabled==0))&&((srcElement.id!="nextButton")||(nextButton.disabled==0))) window.event.srcElement.style.color="";
  436. }
  437.  
  438. //launch IE tour in new window
  439.  
  440. function gettingStartedClick() {
  441. var foo="gettingstarted";
  442. window.open("res://ie4tour.dll/tour.htm#MinimalTour=1",foo,"");
  443. window.event.returnValue=false;
  444. return false;
  445. }
  446.  
  447. //Event is called when a transition is complete
  448. //Used to go from fade of one paragraph to show of the next
  449. //This event is called manually when MM is not enabled
  450.  
  451. function onfilterchangeHandler() {
  452. if(fade==1) window.setTimeout("DoShow()",100);
  453. else noReEntry=0;
  454. backwards=0;
  455. fade=0;
  456. }
  457.  
  458. //Separate event for the links, since they act differently
  459. //This is also called manually when MM is not enabled
  460.  
  461. function onfilterchangeHandlerLinks() {
  462. if(backwards!=1) { //going forwards
  463.     if(curDiv<totaldivCount) 
  464.         {
  465.         curDiv=curDiv+1;
  466.         window.setTimeout("DoShow()",100);
  467.         }
  468.     else     noReEntry=0;
  469.     }        
  470. else { //going backwards
  471.     if(curDiv>beforeLinksDivCount) { //still have links to fade
  472.         curDiv=curDiv-1;
  473.         window.setTimeout("DoFade(" +parseInt(curDiv+1) +")",100);
  474.         }
  475.     else {    //show div the comes before the links
  476.         curDiv=beforeLinksDivCount;
  477.         window.setTimeout("DoShow()",100);
  478.         }
  479.     }          
  480. fade=0;
  481. }
  482.  
  483.  
  484. // BUGBUG: This is a hack to work around MSHTML crashing on document.onselectstart events
  485. // being canceled (false being returned).
  486. var g_fWasMouseDown;
  487.  
  488. function MyOnMouseDown()
  489. {
  490.     g_fWasMouseDown = window.event.button;
  491. }
  492.  
  493. document.onmousedown = MyOnMouseDown;
  494.  
  495.  
  496. function CancelEvent()
  497. {
  498.     if (2 == g_fWasMouseDown)
  499.     {
  500.         return true;        // Trident crashes when Right-Click events are canceled.
  501.     }
  502.  
  503.     return false;   // Cancel event.
  504. }
  505.  
  506. // Disable text and object selecting.
  507. document.onselectstart = CancelEvent;
  508. document.ondragstart = CancelEvent;
  509.  
  510. function OpenEEGG()
  511. {
  512.     // Do the navigation
  513.     window.open("wcee.htm", "TheWCEE", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=414,height=352");
  514.     window.close();
  515.     return false;
  516. }
  517.  
  518.  
  519. function GetIndex(nStep, nDelta)
  520. {
  521.     nReturn = nStep + nDelta;
  522.  
  523.     if (nReturn < 0)
  524.         nReturn += g_nMaxStepHistory;
  525.  
  526.     if (g_nMaxStepHistory <= nReturn)
  527.         nReturn -= g_nMaxStepHistory;
  528.  
  529.     return nReturn;
  530. }
  531.  
  532. function StartFlinging()
  533. {
  534.     nStop = 1;
  535.  
  536.     for (j in FlingingItems)
  537.     {
  538.         obj = FlingingItems[j];
  539.  
  540.         if(obj.xDelta != 0) obj.style.pixelLeft += obj.xDelta;
  541.         if(obj.yDelta != 0) obj.style.pixelTop += obj.yDelta;
  542.  
  543.         if ((obj.style.pixelLeft > -1000) && (obj.style.pixelLeft < 2000) &&
  544.             (obj.style.pixelTop > -1000) && (obj.style.pixelTop < 2000))
  545.             nStop = 0;
  546.     }
  547.  
  548.     // Stop looping when object is fully off the screen.
  549.     if (0 == nStop)
  550.     {
  551.         window.setTimeout("StartFlinging()", 10);
  552.     }
  553. }
  554.  
  555. function TrackStep(x, y, e, bkey)
  556. {
  557.     CursorHistoryX[g_nStep] = x;
  558.     CursorHistoryY[g_nStep] = y;
  559.  
  560.     // Did we just bounce into a flingable object?
  561.     if ((e.SuperClass != g_szPrevElement) && (e.SuperClass == "Flingable"))
  562.     {
  563.         fValidFling = 1;
  564.         // Yes, so see if we can fling it.
  565.  
  566.         if (0 == e.reqDirX)
  567.         {
  568.             nIndex = 0;
  569.  
  570.             // It's necessary that all x movement remain within object width.
  571.             while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  572.             {
  573.                 nPrevX = CursorHistoryX[GetIndex(g_nStep, -nIndex)];
  574.                 if ((nPrevX < e.style.pixelLeft) ||
  575.                     (nPrevX > e.style.pixelLeft + e.style.pixelWidth))
  576.                 {
  577.                     fValidFling = 0;
  578.                 }
  579.                 nIndex++;
  580.             }
  581.         }
  582.         else
  583.         {
  584.             nIndex = 0;
  585.  
  586.             // It's necessary that all x movement stay constantly left or right.
  587.             while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  588.             {
  589.                 if (0 < e.reqDirX)
  590.                 {
  591.                     if (CursorHistoryX[GetIndex(g_nStep, -nIndex)] < CursorHistoryX[GetIndex(g_nStep, -nIndex - 1)])
  592.                     {
  593.                         fValidFling = 0;
  594.                     }
  595.                 }
  596.                 else
  597.                 {
  598.                     if (CursorHistoryX[GetIndex(g_nStep, -nIndex)] > CursorHistoryX[GetIndex(g_nStep, -nIndex - 1)])
  599.                     {
  600.                         fValidFling = 0;
  601.                     }
  602.                 }
  603.                 nIndex++;
  604.             }
  605.         }
  606.  
  607.         if (1 == fValidFling)
  608.         {
  609.             if (0 == e.reqDirY)
  610.             {
  611.                 nIndex = 0;
  612.  
  613.                 // It's necessary that all y movement remain within object height.
  614.                 while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  615.                 {
  616.                     nPrevY = CursorHistoryY[GetIndex(g_nStep, -nIndex)];
  617.                     if ((nPrevY < e.style.pixelTop) ||
  618.                         (nPrevY > e.style.pixelTop + e.style.pixelHeight))
  619.                     {
  620.                         fValidFling = 0;
  621.                     }
  622.                     nIndex++;
  623.                 }
  624.             }
  625.             else
  626.             {
  627.                 nIndex = 0;
  628.  
  629.                 // It's necessary that all y movement stay constantly up or down.
  630.                 while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  631.                 {
  632.                     if (0 < e.reqDirY)
  633.                     {
  634.                         if (CursorHistoryY[GetIndex(g_nStep, -nIndex)] < CursorHistoryY[GetIndex(g_nStep, -nIndex - 1)])
  635.                         {
  636.                             fValidFling = 0;
  637.                         }
  638.                     }
  639.                     else
  640.                     {
  641.                         if (CursorHistoryY[GetIndex(g_nStep, -nIndex)] > CursorHistoryY[GetIndex(g_nStep, -nIndex - 1)])
  642.                         {
  643.                             fValidFling = 0;
  644.                         }
  645.                     }
  646.                     nIndex++;
  647.                 }
  648.             }
  649.         }
  650.  
  651.         if ((1 == fValidFling) && bkey)
  652.         {
  653.             nXDelta = CursorHistoryX[g_nStep] - CursorHistoryX[GetIndex(g_nStep, -g_nMaxStepHistory + 1)];
  654.             nYDelta = CursorHistoryY[g_nStep] - CursorHistoryY[GetIndex(g_nStep, -g_nMaxStepHistory + 1)];
  655.  
  656.             if (0 != e.reqDirX)
  657.                 e.xDelta = Math.round(nXDelta / 2);
  658.             else
  659.                 e.xDelta = 0;
  660.  
  661.             if (0 != e.reqDirY)
  662.                 e.yDelta = Math.round(nYDelta / 2);
  663.             else
  664.                 e.yDelta = 0;
  665.  
  666.             FlingingItems[FlingingItems.length] = e;
  667.             g_cFlungObjects++;
  668.             g_nScore += (g_cFlungObjects * e.nScore);
  669.             StartFlinging();
  670.         }
  671.  
  672.     }
  673.  
  674.  
  675.     // Increment
  676.     g_szPrevElement = e.SuperClass;
  677.     g_nStep = GetIndex(g_nStep, 1);
  678. }
  679.  
  680. function StartWorldGrow()
  681. {
  682.     if (ID_World.style.pixelWidth > 800)
  683.     {
  684.         OpenEEGG();
  685.     }
  686.     else
  687.     {
  688.         ID_World.style.pixelWidth += 100;
  689.         ID_World.style.pixelHeight += 100;
  690.         ID_World.style.pixelLeft -= 30;
  691.         ID_World.style.pixelTop -= 30;
  692.         window.setTimeout("StartWorldGrow()", 10);
  693.     }
  694. }
  695.  
  696. function UpdateMouse(x, y, shift, button)
  697. {
  698.     var e;
  699.  
  700.     e = event.srcElement;
  701.  
  702.     if ((0 == g_fInDrag) && (e.className == "Movable"))
  703.     {
  704.         g_fInDrag = 1;
  705.         g_nDragOffsetX = event.x - document.all["ID_IE"].style.pixelLeft;
  706.         g_nDragOffsetY = event.y - document.all["ID_IE"].style.pixelTop;
  707.     }
  708.  
  709.  
  710.     if ((1 == event.button) && (1 == g_fInDrag) && (true == event.ctrlKey))
  711.     {
  712.         document.all["ID_IE"].style.pixelLeft = event.x - g_nDragOffsetX;
  713.         document.all["ID_IE"].style.pixelTop = event.y - g_nDragOffsetY;
  714.  
  715.         TrackStep(event.x, event.y, e, event.ctrlKey);
  716.     }
  717.     else
  718.     {
  719.         g_fInDrag = 0;
  720.  
  721.         // Check if IE Logo was dropped on the world.
  722.         if ((document.all["ID_IE"].style.pixelLeft > document.all["ID_World"].style.pixelLeft) &&
  723.             (document.all["ID_IE"].style.pixelLeft + document.all["ID_IE"].style.pixelWidth < document.all["ID_World"].style.pixelLeft + document.all["ID_World"].style.pixelWidth) &&
  724.             (document.all["ID_IE"].style.pixelTop > document.all["ID_World"].style.pixelTop) &&
  725.             (document.all["ID_IE"].style.pixelTop + document.all["ID_IE"].style.pixelHeight < document.all["ID_World"].style.pixelTop + document.all["ID_World"].style.pixelHeight) &&
  726.             g_nScore >= g_nScoreNeeded)
  727.         {
  728.             // Move the logo so we don't continue to navigate over and over again.
  729.             document.all["ID_IE"].style.pixelLeft = parseInt(document.all["ID_IE"].FinalX);
  730.             document.all["ID_IE"].style.pixelTop = parseInt(document.all["ID_IE"].FinalY);
  731.  
  732.             document.all["ID_IE"].style.visibility="hidden";
  733.  
  734.             // Make this cover everything else.
  735.             document.all["ID_World"].style.zIndex = "1000";
  736.             
  737.             g_nScore = 0;
  738.             StopWobble(ID_World);
  739.             window.setTimeout("StartWorldGrow()", 10);
  740.         }
  741.     }
  742.  
  743.     return 1;
  744. }
  745.  
  746. document.onmousemove = UpdateMouse;
  747.  
  748. function WobbleControl(obj)
  749. {
  750.     if (0 != obj.wobbleTimer)
  751.     {
  752.         obj.style.posLeft = parseInt(obj.nOrigLeft) + Math.round(Math.random() * 2 * g_nWobbleAmount) - g_nWobbleAmount;
  753.         obj.style.posTop = parseInt(obj.nOrigTop) + Math.round(Math.random() * 2 * g_nWobbleAmount) - g_nWobbleAmount;
  754.     }
  755. }
  756.  
  757. function StartWobble(obj)
  758. {
  759.     obj.wobbleTimer = setInterval("WobbleControl(ID_World)", 100);
  760. }
  761.  
  762. function StopWobble(obj)
  763. {
  764.     if (0 != obj.wobbleTimer)
  765.     {
  766.         clearInterval(obj.wobbleTimer);
  767.         obj.wobbleTimer = 0;
  768.         document.all["ID_World"].posLeft = parseInt(document.all["ID_World"].nOrigLeft);
  769.         document.all["ID_World"].posTop = parseInt(document.all["ID_World"].nOrigTop);
  770.     }
  771. }
  772.  
  773. function UnLock(obj)
  774. {
  775.     g_nScore += 1;
  776.     obj.disabled = true;
  777.     StartWobble(obj);
  778. }
  779. </SCRIPT>
  780. </body>
  781. </html>
  782.